package red.social;

import java.io.InputStream;
import java.io.ObjectInputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class Mensajes extends Activity  {
	
	private String SERVLET_URL;
	private String ip;

	List<String> cadenaMensajes;
	List<Mensaje> listaMensajes;
	 ListView lV;
	 Dialog dialog;
	 TextView textoMensaje;
	
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.mensajes); 
        
        ip = getResources().getString(R.string.ip);
        SERVLET_URL = "http://"+ip+":8080/Modulo10-war/ServletMensajes";
        
        dialog = new Dialog(Mensajes.this);
		dialog.setContentView(R.layout.dialogo_mensaje);
		dialog.setCanceledOnTouchOutside(true);
		
		 textoMensaje = (TextView) dialog.findViewById(R.id.textoMensaje);
        
        try{
        
        URL ob = new URL(SERVLET_URL+"?idUsuario="+"1");
		URLConnection conn = ob.openConnection();
		conn.setDoInput(true);
        conn.setDoOutput(true);
        
        InputStream in= conn.getInputStream();	        
      	ObjectInputStream oIS = new ObjectInputStream(in);
	
		cadenaMensajes = new ArrayList<String>();
		listaMensajes = new ArrayList<Mensaje>();
		
		int size = oIS.readInt();
		
		System.out.println("TAMA�O DE LOS MENSAJES"+size);
		
		for (int i=0; i<size; i++){
			 //FECHA,LEIDO,TEXTO,USUARIO
			listaMensajes.add(new Mensaje(
			(Date)oIS.readObject(),		
			oIS.readInt(),
			(String)oIS.readObject(),
			(String)oIS.readObject()
			));			
		}		
		
		oIS.close();
		in.close();	
		
		for (Mensaje m:listaMensajes){						
			cadenaMensajes.add(m.getFechaF()+" "+m.getNomAp()+"\n"+m.getTexto().substring(0, 20)+"...");
			}
		
		 lV = (ListView) findViewById(R.id.listmensajes);
		 
		 ArrayAdapter aA =new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, cadenaMensajes);
		 
		 lV.setAdapter(aA);
		 
	     lV.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
					long arg3) {
				
				Mensaje m = listaMensajes.get(arg2);
				dialog.setTitle(m.getFechaF()+" "+m.getNomAp());			
				textoMensaje.setText(m.getTexto());
				dialog.show();
			}
		});
		 
        }catch (Exception e){
        	Log.e("ERROR MENSAJES", e.toString());
        }       
    }
}


